unit unitadmespacios;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, DBGrids,
  StdCtrls, Menus, sqldb, db, unitmainform, unitespacio;

type

  { TFormAdmEspacios }

  TFormAdmEspacios = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    MainMenu1: TMainMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    MenuItem5: TMenuItem;
    MenuItem6: TMenuItem;
    MenuItem7: TMenuItem;
    MenuItem8: TMenuItem;
    SQLQuery1: TSQLQuery;
    procedure DBGrid1CellClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
    procedure FormShow();
    procedure MenuItem8Click(Sender: TObject);
    procedure ordenar_grid();
    procedure MenuItem2Click(Sender: TObject);
    procedure MenuItem4Click(Sender: TObject);
    procedure MenuItem5Click(Sender: TObject);
    procedure MenuItem7Click(Sender: TObject);
  private
    { private declarations }
  public
    esp_nombre : string;
  end;

var
  FormAdmEspacios: TFormAdmEspacios;

implementation

{$R *.lfm}

{ TFormAdmEspacios }

procedure TFormAdmEspacios.ordenar_grid();
begin
  if SQLQuery1.Active = true then
    SQLQuery1.Close;

  SQLQuery1.SQL.Text := 'select * from espacio where esp_nombre ilike ''%' + esp_nombre + '%'' order by esp_nombre';

  SQLQuery1.Open;

  DBGrid1.Columns[0].Title.Caption:='Nombre';
  DBGrid1.Columns[1].Title.Caption:='Descripcion';

  DBGrid1.Columns[0].Width := 300;
  DBGrid1.Columns[1].Width := 360;
end;

procedure TFormAdmEspacios.FormCreate(Sender: TObject);
begin
  SQLQuery1.DataBase := MainForm.PQConnection1;
  SQLQuery1.Transaction := MainForm.SQLTransaction1;
end;

procedure TFormAdmEspacios.DBGrid1CellClick(Column: TColumn);
begin
  FormEspacio.Caption := 'Modificacion de Espacio';
  FormEspacio.Edit1.Text := SQLQuery1.FieldByName('esp_nombre').AsString;
  FormEspacio.Edit2.Text := SQLQuery1.FieldByName('esp_descripcion').AsString;
  FormEspacio.esp_nombre_old := SQLQuery1.FieldByName('esp_nombre').AsString;

  FormEspacio.ShowModal;
  FormShow();
end;

procedure TFormAdmEspacios.FormShow();
begin
  esp_nombre := '%';
  ordenar_grid();
end;

procedure TFormAdmEspacios.MenuItem8Click(Sender: TObject);
begin
  esp_nombre := '%';
  ordenar_grid();
end;

procedure TFormAdmEspacios.MenuItem2Click(Sender: TObject);
begin
  Close();
end;

procedure TFormAdmEspacios.MenuItem4Click(Sender: TObject);
begin
  FormEspacio.Caption := 'Alta de Espacio';

  FormEspacio.Edit1.Text := '';
  FormEspacio.Edit2.Text := '';

  FormEspacio.ShowModal;
  FormShow();
end;

procedure TFormAdmEspacios.MenuItem5Click(Sender: TObject);
begin
  ShowMessage('Click en el item a modificar');
end;

procedure TFormAdmEspacios.MenuItem7Click(Sender: TObject);
begin
  esp_nombre := InputBox('Filtro por nombre', 'Ingrese parte del nombre:', '');
  ordenar_grid();
end;

end.

